package com.wuliu.system.domain.dto.applet;

import com.wuliu.common.annotation.NotLessThanZero;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotBlank;
import java.math.BigDecimal;

/**
 * @author realue
 * @version 1.0
 * @date 2023-11-03 14:14
 */
@Data
@ApiModel
public class TspOrderPreDto {

    @NotBlank(message = "运单号不能为空")
    @ApiModelProperty(value = "运单号")
    private String orderNo;

    @ApiModelProperty(value = "专属业务员id")
    private Long grabUserId;

    @ApiModelProperty(value = "专属业务员编号")
    private String grabUserNo;

    @ApiModelProperty(value = "专属业务员姓名")
    private String grabUserName;

    @ApiModelProperty(value = "专属业务员电话")
    private String grabUserTel;

    @ApiModelProperty(value = "发货站点")
    private Long srcDeptId;

    @ApiModelProperty(value = "发货站点编号")
    private String srcDeptNo;

    @ApiModelProperty(value = "发货站点名称")
    private String srcDeptName;

    @ApiModelProperty(value = "发货公司")
    private String srcCompName;

    @NotBlank(message = "发货人不能为空")
    @ApiModelProperty(value = "发货人")
    private String srcName;

    @NotBlank(message = "发货人电话不能为空")
    @ApiModelProperty(value = "发货人电话")
    private String srcTel;

    @ApiModelProperty(value = "发货国家")
    private String srcCountry;

    @NotBlank(message = "发货省不能为空")
    @ApiModelProperty(value = "发货省")
    private String srcProvince;

    @NotBlank(message = "发货城市不能为空")
    @ApiModelProperty(value = "发货城市")
    private String srcCity;

    @NotBlank(message = "发货区/县不能为空")
    @ApiModelProperty(value = "发货区/县")
    private String srcDistrict;

    @NotBlank(message = "发货街道")
    @ApiModelProperty(value = "发货街道")
    private String srcStreet;

    @NotBlank(message = "发货地址不能为空")
    @ApiModelProperty(value = "发货地址")
    private String srcAddr;

    @ApiModelProperty(value = "收货公司")
    private String dstCompName;

    @NotBlank(message = "收货人不能为空")
    @ApiModelProperty(value = "收货人")
    private String dstName;

    @NotBlank(message = "收货人能为空")
    @ApiModelProperty(value = "收货人电话")
    private String dstTel;

    @ApiModelProperty(value = "收货国家")
    private String dstCountry;

    @NotBlank(message = "收货省不能为空")
    @ApiModelProperty(value = "收货省")
    private String dstProvince;

    @NotBlank(message = "收货城市不能为空")
    @ApiModelProperty(value = "收货城市")
    private String dstCity;

    @NotBlank(message = "收货区/县不能为空")
    @ApiModelProperty(value = "收货区/县")
    private String dstDistrict;

    @ApiModelProperty(value = "收货街道")
    private String dstStreet;

    @NotBlank(message = "收货地址不能为空")
    @ApiModelProperty(value = "收货地址")
    private String dstAddr;

    @NotBlank(message = "托寄物品不能为空")
    @ApiModelProperty(value = "托寄物品")
    private String cargoName;

    @ApiModelProperty(value = "代收货款")
    private BigDecimal cod;

    @ApiModelProperty(value = "声明价值")
    private BigDecimal declaredValue;

    @ApiModelProperty(value = "签回单 1是 0否")
    private Integer receiptFlag;

    @ApiModelProperty(value = "回单编号")
    private String receiptNo;

    @ApiModelProperty(value = "运费")
    private BigDecimal fee;

    @NotLessThanZero(message = "重量必须大于0")
    @ApiModelProperty(value = "重量")
    private BigDecimal weight;

    @NotLessThanZero(message = "件数必须大于0")
    @ApiModelProperty(value = "件数")
    private Integer cargoCnt;
}
